/*
 ============================================================================
 Name		: FEFile.h
 Author	  : YangYu
 Version	 : 1.0
 Copyright   : this class for file operation include
 rename a file/copy a file/move a file/delete a file
 /get properties for a file
 Description : CFEEile declaration
 ============================================================================
 */
#ifndef CFEFILE_H_
#define CFEFILE_H_

#include <f32file.h>
#include <e32cons.h>
#include <eikenv.h>

class CFEFile
{
public:

	CFEFile();

	/*
	 // Constructors and destructor
	 * Virtual Destructor
	 */

	virtual ~CFEFile();

	/**
	 //2nd phase constructor.
	 * Initialized an object of CFileMan
	 */
	void ConstructL();

	/**
	 * Two-phased constructor.
	 */
	static CFEFile* NewL();

	/**
	 * Two-phased constructor.
	 */
	static CFEFile* NewLC();
public:
	/*void Open(TFileName aFilePath);*/

	/*
	 * Own function include rename/delete/copy/move a file
	 * Get the information of a specified file
	 * 
	 */
	TInt Rename(TFileName aFnOld, TFileName aFnNew);
	TInt Delete(TFileName aFnDelPath);
	TInt Copy(TFileName aFnCopyOld, TFileName aFnCopyNew);
	TInt Move(TFileName aFnMoveOld, TFileName aFnMoveNew);
	void LoadFileProperties(TDesC& aFileName, TDes& aProperties);

public:

	RFs &iFs;
	CFileMan* iFm;
};

#endif /* CFEFILE_H_ */
